//package com.learn.redis.delay;
//
//import cn.learn.delay.core.AbstractRedisDelayExecute;
//import cn.learn.delay.message.BaseRedisMessage;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.stereotype.Component;
//
//import java.time.LocalDateTime;
//import java.time.format.DateTimeFormatter;
//import java.util.List;
//import java.util.UUID;
//import java.util.concurrent.Executors;
//import java.util.concurrent.ScheduledExecutorService;
//import java.util.concurrent.TimeUnit;
//
///**
// * @author : Yu.Tan
// * @date : 2022/10/11 17:54
// * @desc : **
// */
//@Component
//@Slf4j
//public class MessageDelayTask extends AbstractRedisDelayExecute<BaseRedisMessage> {
//
//
//
//    ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(5);
//
//
//    @Override
//    public BaseRedisMessage createMessage() {
//        BaseRedisMessage message=new BaseRedisMessage();
//        message.setGroup(group());
//        message.setMessageId(UUID.randomUUID().toString());
//        return message;
//    }
//
//    @Override
//    public void consumer() {
//        scheduledExecutorService.scheduleAtFixedRate(() -> {
////            System.out.println(Thread.currentThread().getName() + "正在执行" + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss")));
//            try {
//                List<BaseRedisMessage> messages = consumerMessage(group(), BaseRedisMessage.class);
//                for (BaseRedisMessage message : messages) {
//                 dealConsumer(this,message);
//                }
//            } catch (Exception e) {
//                e.printStackTrace();
//            }
//        }, 1, 1, TimeUnit.SECONDS);
//    }
//
//    @Override
//    public boolean dealMessage(BaseRedisMessage baseRedisMessage) {
//        log.info("开始处理任务");
//        return true;
//    }
//
//    @Override
//    public String group() {
//        return "delay:test";
//    }
//}
